Triplets in Trackers

by iliks

Firstly, I don't know if this will be a new thing for tracker musicians, maybe yes, maybe no, but I've just found one implementation of triplets, which wasn't covered in the tutorials I have seen, therefore I've decided to publish my thoughts so others could use it too. So, let's be short.

What is a triplet? It is a replacement of a 2-part beat by a 3-part one. It means that in a 2-part system one note could be divided on two parts, equal by length:

So, a quarter is equal to the length of two eighth notes etc... But triplet is another division of note, marked as "3":

So, you see, a quarter note is equal to one eighth triplet.

Triplets were widely used in classical music, though today they also could find their path to the heart of composer. If you are tired with 4/4 bum-bum-bum-bum, you could experiment with triplets.

When you write music in trackers, you usually imagine quarter note as 4 or 8 rows long, such as

                C-4
                ---
                ---
                ---

You see, you can't divide 4 rows on 3 parts, so you can't use triplets. There are some methods which are used, such as "N" effect or tweaking the tempo inside triplet, but they aren't very convenient and hard to read from screen. Here's another method which has appeared in my head today: imagine your quarter note as 6 rows:

                C-4
                ---
                ---
                ---
                ---
                ---

Obvious? Now you can use both 2-part division:

                C-4
                ---
                ---
                C-4
                ---
                ---

and 3-part:

                C-4
                ---
                C-4
                ---
                C-4
                ---

The first is equal to two eighth notes, the second to an eighth triplet. Yes, if you are familiar with MIDI, you will say that this is the way triplets are done there.

Ok, so when you see that your pattern will contain triplets, you make it with such a system, when you see it won't - use regular patterns. But when you go from regular pattern to pattern with triplets, you will encounter two problems: 1) new pattern size and 2) new tempo - you see, if you won't change BPM tempo, the pattern where the quarter note is 6 rows will be played slower than where the quarter is 4 rows.

With new pattern size things are simple:

When quarter was 4 rows size of pattern was S1. When the quarter is 6 rows the new size is S2. We should find S2. Proportion.

                4              ->            S1
                6              ->            S2

     6      3
S2 = - S1 = - S1
     4      2

For example, if the normal pattern size is 64 then a pattern with triplets should have size 3*64/2 = 96.

With tempo everything is also simple. When our tempo was T1 the quarter was 4 rows, when tempo had become T2 the quarter became 6 rows. We should find T2. Another proportion:

                T1            ->            4
                T2            ->            6

     6      3
T2 = - T1 = - T1
     4      2

So, if in normal pattern tempo was 125 BPM, in "triplet" pattern it will be 3*125/2 = 187,5 = 188 BPM. Just insert tempo change command in the beginning of the pattern and don't forget to restore it in next "normal" patterns.

Ah, if only someone implemented this kind of automation in trackers!

Ok, I've decided to port IT to Windows, fully emulating its interface (unlike zTracker), so I will add this little thingy, if I manage to get it done at all...

iliks/hugi